// run: $exec
// using java BigInteger
#include <iostream>

int n;

int calc(int);

int combine(int x, int y)
{
	if (!y || y == x) return 1;
	if (y == 1) return x;
	return combine(x-1, y-1) + combine(x-1, y);
}

int pow2(int x)
{
	if (!x) return 1;
	int t = pow2(x/2);
	t *= t;
	if (x & 1) t *= 2;
	return t;
}

int calc_g(int n)
{
	int sum = 0;
	for (int i = 1; i <= n - 1; i++)
		sum += combine(n-1, i-1) * calc(i) * pow2((n-i)*(n-i-1)/2);
	return sum;
}

int calc(int n)
{
	if (n <= 2) return 1;
	return pow2(n*(n-1)/2) - calc_g(n);
}

int main()
{
	while (std::cin >> n && n) {
		std::cout << calc(n) << '\n';
	}
}

